package cn.itcast.dao.system;

import cn.itcast.domain.system.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserDao {
    /**
     * 查询所有的部门
     */
    List<User> findAll(String companyId);


    /**
     *根据部门id（user_id）查询一条部门数据
     */
    User findById(String userId);


    /**
     *添加部门信息
     */
    void save(User user);


    /**
     *修改部门信息
     */
    void update(User user);

    


    /**
     *删除部门信息
     */
    void delete(String userId);


    /**
     *查找用户表有没有被用户角色表引用
     */
    Long findUserRoleByUserId(String id);


    /**
     *
     *通过用户ID解除用户角色关系（用户分配角色（1））
     */
    void deleteUserRoleByUserId(String userId);

    /**
     *
     *保存用户角色（用户分配角色（2））
     */
    void saveUserRole(@Param("userId")String userId, @Param("roleId")String roleId);

    //通过邮箱查询用户
    User findByEmail(String email);
}
